home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 7: Sunsite
/
Linux Cubed Series 7 - Sunsite Vol 1.iso
/
system
/
mail
/
imapperl.6
/
imapperl
/
imap
/
README
< prev
Wrap
Text File
|
1996-02-04
|
3KB
|
92 lines
IMAP2bis Perl5 Functions
and Client Application
R. Kooijman
Version 0.6
I needed software for a popclient-like mail retrieval application using
IMAP2bis. I could not use popclient since I have more than one mailbox
on my accounts and sometimes want to leave messages at the original
sites (possibly flagged), plus we are running an IMAP server anyway (the
one made by the University of Washington).
So I started reading RFC1176 and the C-client library software by Mark
Crispin. Foolishly enough, I decided to make my own software in Perl.
The target application eventually will be a mail message synchronizer,
but to do mailbox synchronisation reliably you need an IMAP4 server.
The current version enables you to download unseen messages and leave
them as they are (but seen) on the server, remove them, or flag them
as important and possibly unseen again.
The provided library functions enable you to program IMAP client
software in Perl 5. I did not implement all IMAP2bis commands, only the
most important ones, but there is enough support for the provided
IMAP2bis mail downloader. The framework can be extended quite easily I
think, and I will do that myself as soon as the IMAP4 server of the
University of Washington comes out (and I canfind the time to make a
real mailbox synchronizer for disconnected use).
One drawback of the supplied client application is that it uses procmail
as a delivery agent. I didn't make that configurable, but I am sure
knowledgeable people can change the application quite easily to use
other local delivery agents. Search for 'open(FORMAIL' around line 205.
The suggestion you find there for Linux should work too (not tested!).
Well, as I said knowledgeable people will get the idea.
You have to examine the client application and the sources for
information on how to use the library routines but I can give an
overview of the command-line arguments (defaults are between brackets):
imapsync -bdinqrx -e efficiency -h host -l limit -p port -t timeout -u user
-b retrieve BODY[1] instead of RFC822.TEXT
-d debug mode (off)
-e efficiency setting, retrieve mail in batches (10)
-h specify IMAP host (localhost)
-i flag retrieved messages as important (off)
-l only retrieve messages smaller than specified value (off)
-n flag retrieved messages as new (off)
-p specify IMAP port (143)
-q quiet mode (off)
-r delete retrieved messages (off)
-t place timeout on reading lines (off)
-u use another name to login (logged on user)
-x expunge regularly after each batch of messages (off)
Requirements:
- Perl 5
- procmail (used as a delivery agent in main application but
this can be changed)
- basically a UNIX OS that runs Perl 5 and procmail (or a mail
delivery agent you can use)
Installation:
- install msg.pl and imap.pl in a directory that is searched for
Perl libraries,
- install imapsync in a directory that is in your search path,
- edit a file in your home directory called .imapsyncrc and
place the mailboxes in there which you want to be
scanned for unseen messages.
License:
Public domain, but I appreciate it if you credit my name in any
products you derive from this software.
Disclaimer:
This software is provided as-is. You can not hold me responsible
for any damage to your mail.